package com.example.mybatisplusdemo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplusdemo.model.domain.User;
import com.example.mybatisplusdemo.model.vo.UserVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author lxp
 * @since 2025-06-17
 */
public interface UserMapper extends BaseMapper<User> {
    //mapper的接口 一个方法必须对应一个sql sql写在对应的mapper.xml文件
    //不管什么类型 多少个参数 通通取别名

    User selectByIdMy(@Param("id") int i);

    User selectByIdMy2(@Param("id") int i, @Param("user") User byId);

    List<User> selectListMy();

//    Page<User> selectUsersByAgePage(Page<User> page, @Param("minAge") int minAge);

//    int batchInsert(@Param("list") List<User> users);

//    List<User> selectByCondition(UserQuery query);

    Page<User> selectPageMy(@Param("page") Page<User> page);


    UserVO selectWithOrder(@Param("id") int i);

    UserVO selectWithPswd(@Param("password") String s);

    Page<User> listPage(@Param("page") Page<User> page,@Param("user") User user);
}
